package service;


import android.database.sqlite.SQLiteDatabase;

import com.example.firstapp.entity.Login;
import com.example.firstapp.entity.User;

import java.util.Objects;

import util.Database;
import util.MD5Utils;

/**
 * 登录业务逻辑
 */
public class LoginService {

    /**
     * 登录用户名密码验证
     *
     * @param db   数据库对象
     * @param user 用户信息实体对象
     * @return 登录信息实体对象
     */
    public static Login login(SQLiteDatabase db, User user) {
        String password_db;
        Login login = new Login();
        //非空判断并设置login实体属性
        if (Objects.equals(user.getName(), "")) {
            login.setState(false);
            login.setMassage("请输入用户名！");
        } else if (Objects.equals(user.getPassword(), "")) {
            login.setState(false);
            login.setMassage("请输入密码！");
        } else {
            //验证密码并并设置login实体属性
            password_db = Database.select(db, "user", "password",
                    "name=?", new String[]{user.getName()});
            if (Objects.equals(password_db, "")) {
                login.setState(false);
                login.setMassage("用户不存在！");
            } else if (Objects.equals(MD5Utils.md5(user.getPassword()), password_db)) {
                login.setState(true);
                login.setMassage("登录成功！");
            } else {
                login.setState(false);
                login.setMassage("密码错误！");
            }
        }
        return login;
    }

}
